A common challenge in designing graphical user interfaces for computer programs is to select a color theme. Many graphical user interfaces provide a set of preset color themes for setting the colors of various elements in the user interface, such as fonts, backgrounds, borders and the like. However, in general, these settings are set once by the user, and remain the same until the user takes an action to change the settings.
In some graphical user interfaces, especially those which present artistic works, such as an image, a selected color theme might not enhance, or might even detract from, the aesthetics of the work. While an application might select a background to match a work, such a solution does not provide a systematic way of selecting the color theme for multiple user interface elements across a wide range of image content.